#ifndef _mqueue
#define _mqueue
#include "list.h"
typedef struct mr_queue_s mr_queue_t,*mr_queue_p;

int mr_queue_init(mr_queue_p *pqueue,mr_list_data_free freefunc);
int mr_queue_push(mr_queue_p pqueue,void * data,int datasize);
int mr_queue_pop(mr_queue_p pqueue,void **pdata,int *datasize ,struct timespec *timeout);
int mr_queue_close(mr_queue_p pqueue);
int mr_queue_destroy(mr_queue_p pqueue);

#endif
